//
//  UIView+QYView.h
//  DDCategory
//
//  Created by Dxc_iOS on 2018/7/19.
//  Copyright © 2018年 Dxc_123. All rights reserved.
//

#import <UIKit/UIKit.h>

/**
 *  对 view.frame 操作的简便封装，注意 view 与 view 之间互相计算时，需要保证处于同一个坐标系内。
 */
@interface UIView (QYView)

/// 等价于 CGRectGetMinY(frame)
@property(nonatomic, assign) CGFloat qy_top;

/// 等价于 CGRectGetMinX(frame)
@property(nonatomic, assign) CGFloat qy_left;

/// 等价于 CGRectGetMaxY(frame)
@property(nonatomic, assign) CGFloat qy_bottom;

/// 等价于 CGRectGetMaxX(frame)
@property(nonatomic, assign) CGFloat qy_right;

/// 等价于 CGRectGetWidth(frame)
@property(nonatomic, assign) CGFloat qy_width;

/// 等价于 CGRectGetHeight(frame)
@property(nonatomic, assign) CGFloat qy_height;


@property (nonatomic, assign) CGFloat qy_x;
@property (nonatomic, assign) CGFloat qy_y;

@property (nonatomic, assign) CGFloat qy_centerX;
@property (nonatomic, assign) CGFloat qy_centerY;


@property (nonatomic, assign) CGSize qy_size;
@property (nonatomic, assign) CGPoint qy_origin;







/**
 *  初始化UIView
 *
 *  @param frame           UIView的坐标
 *  @param backgroundColor UIView的背景颜色
 */

+ (instancetype _Nonnull)qy_viewWithFrame:(CGRect)frame backgroundColor:(UIColor *_Nonnull)backgroundColor;

/**
 *UIView绑定的事件回调block
 *本质就是利用category和runtime给UIView添加了一个block属性，单击的时候回调这个block。
 *使用：
 [self.view qy_addViewTapped:^{
 NSLog(@"单击了view");
 }];
 */

- (void)qy_addViewTapped:(void(^_Nonnull)(void))tappedBlock;

/**
 找到view的父控制器
 */
- (UIViewController *_Nonnull)qy_findViewController;
/**
 *  给view某个角切圆角
 *  corners : 哪个角
 *  cornerRadii : 圆角size
 */
- (instancetype _Nonnull )qy_cornerByRoundingCorners:(UIRectCorner)corners cornerRadius:(CGFloat)cornerRadius;


/**
 *  设置圆角
 */

- (instancetype _Nonnull )qy_setCornerRadius:(CGFloat)cornerRadius;


/**
 *  在当前View截图
 *
 *  @return 返回截图
 */
- (UIImage *_Nonnull)qy_screenshot;

@end
